⚡ LIMITED: Only 5 New Client Spots This Month — 3 Remaining  |  Claim Yours Now →

Wake Up to Results. While Your Competition Sleeps.

The world's most sophisticated AI-powered system combining Voice AI, Digital Clones, and Strategic Financial Intelligence — delivering 387% ROI in 90 days.

  Launch My AI System

387%

Avg ROI in 90 Days

73%

Lead Close Rate

24/7

Fully Automated

500+

Businesses Transformed

$10M+

Client Revenue Generated

The Complete AI Automation Suite

Everything you need to capture, qualify, and close leads automatically — while you focus on what you do best.

24/7 AI Lead Capture

Never miss another opportunity. Our AI works around the clock capturing qualified leads from your website, social media, and ads — even while you sleep. Average client captures 127 leads per month on autopilot.

5-Second Response Time

Speed wins deals. While competitors take hours to respond, our AI replies in 5 seconds with hyper-personalized messages. Result? 10× better conversion and leads that remember you when it counts most.

387% Proven ROI

Not a promise — a track record. Our clients average 387% return in the first 90 days. For every $1,000 invested, you get $3,870 back. Some elite clients hit 600%+ by month six.

Smart Email Sequences

Automated follow-ups that actually convert. Our AI nurtures leads with strategic value-packed emails on days 1, 3, and 7 — calibrated to buying intent. Zero manual work required from you.

Voice AI Assistant

Let AI handle discovery calls. Our voice assistant answers questions, qualifies prospects, and books appointments with natural conversation that feels fully human — available in 12 languages, 24/7.

Real-Time Analytics Dashboard

Know exactly what's working at a glance. Track every lead, conversion, and dollar in real-time across your master Google Sheets control panel. Complete transparency with auto-diagnostic health checks.

Palcidus Patrick
10+ Years
Elite Experience
The #1 Choice for Growth-Driven Professionals

Palcidus Patrick

Independent Financial Advisor, Insurance Broker & AI Business Specialist

Imagine this: You wake up tomorrow to find qualified leads already booked in your calendar. Your follow-up emails — sent automatically. Your content — posted across every platform. Your revenue — compounding while you sleep.

This isn't a fantasy. It's the daily reality of the 500+ elite entrepreneurs I've personally transformed through my proprietary AI automation systems fused with rock-solid financial strategy.

With over a decade bridging traditional financial expertise and cutting-edge autonomous technology, I've engineered the world's most sophisticated business growth system — one that captures leads, qualifies prospects, and closes deals without a single minute of your time.

But here's what most "gurus" won't tell you: Technology alone is worthless. What makes my approach devastatingly effective is the fusion of AI precision with strategic financial planning, comprehensive insurance protection, and the human intelligence of a seasoned advisor who has seen every market cycle.

🏆 What Sets Me Apart from Everyone Else:

  • 387% average ROI delivered in the first 90 days
  • 73% lead close rate (industry average: 15–20%)
  • $10M+ in client revenue generated through AI systems
  • Licensed Financial Advisor & Insurance Broker — fully regulated
  • AI Business Specialist — certified in the latest automation stacks
  • Zero manual work required — fully autonomous systems

I don't just automate your business — I fortify your financial future while your empire grows on autopilot. My clients don't just grow; they dominate their markets with systems that compound wealth on every level.

⚠️ I Only Accept 5 New Clients Per Month — 3 Spots Remaining

Every week you wait is revenue permanently lost. The urgency is real.

Real Results from Real Clients

Don't take my word for it — here's what happens when AI automation meets strategic financial expertise.

★★★★★
"In 90 days we went from 12 leads per month to 127. The AI works 24/7 and I finally have time to close deals instead of chasing prospects. Revenue is up 412%. Palcidus didn't just build a system — he changed the entire trajectory of my business."
SM
Sarah Mitchell
Real Estate Agent — Vancouver, BC
★★★★★
"The voice AI alone is worth 10× the investment. It qualifies leads while I'm in meetings — by the time I check my calendar, three appointments are already booked. My close rate jumped from 18% to 71% in 60 days. Absolute game-changer."
JC
James Chen
Financial Consultant — Toronto, ON
★★★★★
"I was skeptical about AI, but Palcidus showed me exactly how to use it ethically AND profitably. Six months in, I've doubled my client base, tripled revenue, and my insurance premiums are protected. Best investment I've ever made — bar none."
MP
Maria Patel
Insurance Broker — Calgary, AB

Choose Your AI Velocity

All plans include full setup, onboarding, and 14-day satisfaction guarantee. No hidden fees.

Magic Trial

$1
24-hour proof of concept
  • Full AI lead capture demo
  • Email automation active
  • SMS notifications
  • Google Sheets CRM
  • Voice AI preview
🔒 Pay $1 via Stripe Pay $1 via PayPal

Enterprise Nexus

$997
per month · white-glove service
  • Everything in Professional
  • Custom AI avatar & voice clone
  • Unlimited leads
  • White-label options
  • Dedicated account manager
  • Custom integrations
🔒 Pay $997 via Stripe Pay $997 via PayPal

Start Your Transformation

Fill in your details and I'll personally review your business situation within 24 hours.

🔒 Your information is 100% secure and never shared.

Palcidus Patrick
Palcidus AI — Palcidus Patrick
Online & Ready
Greetings! I'm Palcidus AI — the intelligent assistant for Palcidus Patrick, Independent Financial Advisor & AI Business Specialist.

How can I help you today? Ask me about pricing, ROI results, how AI automation works, or book a strategy session.
/* ═════════════════════════════════════════════════════ PALCIDUS AI AVATAR MODAL UNIFIED: Voice + Text in ONE conversation thread. Layout: • Header with photo + name + language select • Chat thread (messages from both voice & text) • Bottom input bar: [🎤 Mic] [text input] [Send] Separate "💬 Text-Only Chat" tab also available. ═════════════════════════════════════════════════════ */ function openVapiModal() { var ex = document.getElementById('_vMod'); if (ex) ex.remove(); var el = document.createElement('div'); el.id = '_vMod'; el.style.cssText = 'position:fixed;inset:0;background:rgba(3,6,22,.97);z-index:30000;display:flex;align-items:center;justify-content:center;padding:12px;backdrop-filter:blur(16px);'; el.innerHTML = [ /* ── Outer card ── */ '
', /* ── Header ── */ '
', '
', '', '', '', '
', '
', '
Palcidus Patrick — Palcidus AI
', '
● Live · Voice & Chat · 12+ Languages · 24/7
', '
', '', '
', /* ── Language selector bar — PROMINENT ── */ '
', '
', '🌍', 'Step 1 — Choose Language (optional)', '
', '', '
', /* ── Tabs ── */ '
', '', '', '
', /* ══════ TAB 1: UNIFIED VOICE + TEXT ══════ */ '
', /* Avatar + status */ '
', '
', '', '
', '

Step 2 — Tap 🎤 to speak · or type below

', '
', /* Unified conversation thread */ '
', /* ── Unified input bar ── */ '
', /* Mic button */ '', /* Text input */ '', /* Send button */ '', '
', '

🌍 12+ languages · 24/7 · Allow microphone when prompted

', '
', /* end tab1 */ /* ══════ TAB 2: TEXT-ONLY CHAT ══════ */ '', /* end tab2 */ '
', ].join(''); document.body.appendChild(el); /* Reset context for this session */ _ctx = { turn:0, name:'', niche:'', problem:'', lastTopic:'' }; /* NOTE: We do NOT pre-warm VAPI here. vapiSDK.run() with NO assistant is safe on init, but we init on first mic tap to avoid any auto-connect race. */ } /* ── Switch tabs inside modal ── */ function _vmSwitchTab(n) { var p1=document.getElementById('_vmPane1'), p2=document.getElementById('_vmPane2'); var b1=document.getElementById('_vmTab1'), b2=document.getElementById('_vmTab2'); if(n===1){ if(p1)p1.style.display='flex'; if(p2)p2.style.display='none'; if(b1){b1.style.background='rgba(212,175,55,.08)';b1.style.borderBottom='2px solid #D4AF37';b1.style.color='#D4AF37';} if(b2){b2.style.background='transparent';b2.style.borderBottom='2px solid transparent';b2.style.color='rgba(255,255,255,.4)';} } else { if(p1)p1.style.display='none'; if(p2)p2.style.display='flex'; if(b2){b2.style.background='rgba(212,175,55,.08)';b2.style.borderBottom='2px solid #D4AF37';b2.style.color='#D4AF37';} if(b1){b1.style.background='transparent';b1.style.borderBottom='2px solid transparent';b1.style.color='rgba(255,255,255,.4)';} } } /* ── Close modal ── */ function closeVapiModal() { /* Stop call only if modal was the active caller */ if (_vapiOn && _vapiCaller === 'modal' && _vapiInst) { try { _vapiInst.stop(); } catch(e) {} } if (_vapiCaller === 'modal') { _vapiCaller = ''; _vapiOn = false; } var el = document.getElementById('_vMod'); if (el) el.remove(); } /* ── Modal mic button ── */ function _vmToggleVoice() { /* Modal call live — stop it */ if (_vapiOn && _vapiCaller === 'modal' && _vapiInst) { _vapiInst.stop(); return; } /* Hero call live — stop first */ if (_vapiOn && _vapiInst) { _vapiInst.stop(); } var btn = document.getElementById('_vmMicBtn'); var st = document.getElementById('_vmStatus'); /* SDK not ready yet — show gentle hint */ if (!_vapiInst) { if (st) st.textContent = '⏳ Voice loading… tap 🎤 again in 2 seconds'; return; } if (btn) { btn.innerHTML = ''; btn.disabled = true; } if (st) st.textContent = 'Connecting…'; _vapiCaller = 'modal'; var lang = _langSel || ''; try { if (lang) { _vapiInst.start({ assistantId: CFG.vapiAssist, assistantOverrides: { firstMessage: 'Hello! You selected ' + lang + '. I will speak and respond entirely in ' + lang + '. Please go ahead!', transcriber: { language: _getLangCode(lang) } } }); } else { _vapiInst.start(CFG.vapiAssist); } } catch(e) { console.error('Modal .start() failed:', e); _vapiCaller = ''; _syncModalBtn(false); if (st) st.textContent = '⚠️ Start failed — tap 🎤 to retry'; } } /* ── Add a bubble to the unified thread (tab 1) ── */ function _vmBubble(role, text) { var thread = document.getElementById('_vmThread'); if (!thread) return; var d = document.createElement('div'); if (role === 'ai-voice' || role === 'ai') { d.style.cssText = 'display:flex;gap:8px;align-items:flex-start;'; d.innerHTML = '' + '
' + text + '
'; } else if (role === 'user-voice' || role === 'user') { d.style.cssText = 'display:flex;justify-content:flex-end;'; d.innerHTML = '
🎤 ' + text + '
'; } else { /* system */ d.style.cssText = 'text-align:center;'; d.innerHTML = '' + text + ''; } thread.appendChild(d); thread.scrollTop = thread.scrollHeight; } /* ── Type & send from unified input (tab 1) ── */ function _vmSendText() { var inp = document.getElementById('_vmTextIn'); if (!inp) return; var msg = inp.value.trim(); if (!msg) return; inp.value = ''; _vmBubble('user', msg); /* Typing indicator */ var tid = 'vm' + Date.now(); var tEl = document.createElement('div'); tEl.id = tid; tEl.style.cssText = 'display:flex;gap:8px;align-items:center;'; tEl.innerHTML = '' + 'Thinking…'; var thread = document.getElementById('_vmThread'); if (thread) { thread.appendChild(tEl); thread.scrollTop = thread.scrollHeight; } setTimeout(function() { var el = document.getElementById(tid); if (el) el.remove(); _vmBubble('ai', _aiReply(msg)); }, 600 + Math.floor(Math.random() * 300)); } /* ── Tab 2 text chat send ── */ function sendVmChat() { var inp = document.getElementById('_vmChatIn'); var body = document.getElementById('_vmChatBody'); if (!inp || !body) return; var msg = inp.value.trim(); if (!msg) return; inp.value = ''; var ud = document.createElement('div'); ud.style.cssText = 'display:flex;justify-content:flex-end;'; ud.innerHTML = '
'+msg+'
'; body.appendChild(ud); body.scrollTop = body.scrollHeight; var tid = 'vmc'+Date.now(); var tEl = document.createElement('div'); tEl.id = tid; tEl.style.cssText = 'display:flex;gap:8px;align-items:center;'; tEl.innerHTML = '' + 'Thinking…'; body.appendChild(tEl); body.scrollTop = body.scrollHeight; setTimeout(function() { var el = document.getElementById(tid); if (el) el.remove(); var reply = _aiReply(msg); var ad = document.createElement('div'); ad.style.cssText = 'display:flex;gap:8px;align-items:flex-start;'; ad.innerHTML = '' + '
'+reply+'
'; body.appendChild(ad); body.scrollTop = body.scrollHeight; }, 600 + Math.floor(Math.random() * 300)); } /* ── Language code map for VAPI transcriber ── */ function _getLangCode(lang) { return {English:'en',French:'fr',Spanish:'es',Portuguese:'pt',Arabic:'ar', Hindi:'hi',Mandarin:'zh',German:'de',Italian:'it',Punjabi:'pa', Urdu:'ur',Japanese:'ja',Korean:'ko'}[lang] || 'en'; } /* ══════════════════════════════════════════════════════════════ AI REPLY ENGINE v10 — Conversational like ChatGPT/OpenAI Rules: 1. Read what they actually said — answer IT directly 2. One sentence answer max, then one follow-up OR a CTA 3. Track conversation turns — CTA appears naturally after 3 turns 4. Never repeat the same fallback — rotate through real answers 5. Accumulate context (name, niche, problem) across the session ══════════════════════════════════════════════════════════════ */ var _ctx = { turn:0, name:'', niche:'', problem:'', lastTopic:'' }; function _aiReply(msg) { var m = msg.toLowerCase(); _ctx.turn++; /* ── Silent context extraction ── */ var nameMatch = msg.match(/(?:i[' ]?m|my name is|i am|call me)\s+([A-Z][a-z]+)/i); if (nameMatch) _ctx.name = nameMatch[1]; if (m.match(/real estate|realtor|property/)) _ctx.niche = 'real estate'; if (m.match(/insurance|broker|policy|coverage/)) _ctx.niche = 'insurance'; if (m.match(/financial|advisor|invest|wealth|cfp/)) _ctx.niche = 'financial services'; if (m.match(/coach|consult|business coach/)) _ctx.niche = 'business coaching'; if (m.match(/ecommerce|shopify|online store/)) _ctx.niche = 'e-commerce'; if (m.match(/mortgage|loan|lending/)) _ctx.niche = 'mortgage'; var hi = _ctx.name ? 'Hi ' + _ctx.name + '! ' : ''; /* ── Greetings ── */ if (_ctx.turn === 1 || m.match(/^(hi+|hello|hey|good (morning|evening|day)|howdy|sup\b|yo\b)/)) return hi + 'I\'m Palcidus AI, Palcidus Patrick\'s intelligent assistant. I can answer questions about AI automation, financial services, pricing, or results.

What brings you here today?'; /* ── Name only ── */ if (msg.trim().split(' ').length <= 3 && nameMatch) return 'Nice to meet you, ' + _ctx.name + '! What\'s the main thing you\'re looking to solve — more leads, faster follow-up, or something else?'; /* ── What is this / what do you do ── */ if (m.match(/what (is|are|does)|how does|tell me|explain|what.?s this|who is palcidus/)) return 'Palcidus AI is an AI-powered business automation system built by Palcidus Patrick — Independent Financial Advisor & AI Business Specialist.

It combines voice AI, lead capture, automated follow-up, and financial intelligence into one system. Clients average 387% ROI in 90 days.

What aspect interests you most?'; /* ── Leads / lead generation ── */ if (m.match(/lead|prospect|client|customer|traffic|generat|captur/)) { _ctx.lastTopic = 'leads'; var nicheRef = _ctx.niche ? ' for ' + _ctx.niche + ' professionals' : ''; return 'The system automatically captures leads' + nicheRef + ' from your website, social ads, and lead forms — responding in under 5 seconds, 24/7. Average is 127 leads/month on autopilot.

How many leads are you currently getting per month?'; } /* ── Follow-up / email / SMS ── */ if (m.match(/follow.?up|email|sms|text|nurtur|sequence|drip|automat/)) { _ctx.lastTopic = 'followup'; return 'Every new lead gets an automated sequence — email + SMS on Day 1, Day 3, and Day 7, personalised with their name and niche. Open rates average 68%. Nothing falls through the cracks.

Are you doing any automated follow-up right now?'; } /* ── Booking / appointments ── */ if (m.match(/book|appoint|schedul|calendar|meeting|call|calendly/)) { _ctx.lastTopic = 'booking'; return 'Booking is fully automated — AI qualifies the lead, sends a Calendly link, and confirms both sides. Reminders go out at 3 days, 24h, 1h, and 15min before. No-show rate drops to under 8%.

Book your own free session →'; } /* ── Pricing ── */ if (m.match(/price|cost|how much|\$|fee|plan|afford|pay|subscri|tier/)) { _ctx.lastTopic = 'price'; return '3 plans:
🔹 Magic Trial — $1 for 24 hours (zero risk, prove it works)
Professional — $497/month
🏆 Enterprise — $997/month

Most clients recover their investment in the first 30 days. Want to know which plan fits your situation?'; } /* ── ROI / results / proof ── */ if (m.match(/roi|result|387|proof|number|stat|success|work|worth/)) { _ctx.lastTopic = 'roi'; return 'Across 500+ businesses: average 387% ROI in 90 days, 73% lead-to-client close rate (vs 15–20% industry average), and clients going from 12 to 127 leads per month.

What does your current close rate look like?'; } /* ── Insurance / financial services ── */ if (m.match(/insurance|life|health|disability|protect|wealth|invest|financial|advisor|policy|rrsp|tfsa/)) { _ctx.lastTopic = 'financial'; return 'Palcidus Patrick is a licensed Independent Financial Advisor and Insurance Broker — covering life, health, disability, and wealth management. The combination of financial protection + AI automation is what sets this apart.

View full financial services →

Are you currently covered if something unexpected happened to you or your business?'; } /* ── Voice AI / how does the voice work ── */ if (m.match(/voice|speak|listen|hear|mic|vapi|language|multilingual/)) { _ctx.lastTopic = 'voice'; return 'The voice AI speaks and understands 12+ languages — just tap the mic, say whatever you want, and it responds naturally in the same language. It\'s powered by VAPI AI and works 24/7 on your live site.

Want to try it? Tap the 🎤 button below.'; } /* ── Social media / content ── */ if (m.match(/social|instagram|facebook|linkedin|twitter|post|content|tiktok/)) { _ctx.lastTopic = 'social'; return 'The system auto-generates and schedules posts across Facebook, LinkedIn, Instagram, and more — using AI to write content, create images, and post at optimal times. Zero manual work.

Which platforms are most important for your business?'; } /* ── Dashboard / analytics ── */ if (m.match(/dashboard|analytic|report|track|sheet|monitor|data/)) { _ctx.lastTopic = 'dashboard'; return 'Everything is visible in a real-time Google Sheets dashboard — leads, payments, email opens, appointments, and system health. Colour-coded so you see what needs attention in seconds.

What metrics matter most to you?'; } /* ── Partner / join / recruit ── */ if (m.match(/partner|join|recruit|agent|team|wfg|code|344/)) { _ctx.lastTopic = 'partner'; return 'Palcidus Patrick is selectively recruiting business partners. Use code 344TYC to register.

→ Register as a partner now

What\'s your background?'; } /* ── Contact details ── */ if (m.match(/contact|phone|email|reach|address|where|office/)) { return '📞 +1 (905) 341-8638
📧 patrickpalcidus@gmail.com
🌐 Full Profile →

Or book directly: calendly.com/patrickpalcidus →'; } /* ── Yes / No / Short confirmations ── */ if (m.match(/^(yes|yeah|yep|sure|ok|okay|definitely|absolutely|of course|no|nope|not really|not yet)\.?$/)) { if (_ctx.lastTopic === 'leads') return 'Got it. Most clients in ' + (_ctx.niche||'your industry') + ' find the first big win is the 5-second response — AI replies to every new lead before any competitor can. Want to see how that\'s set up?'; if (_ctx.lastTopic === 'followup') return 'That\'s one of the biggest gaps we close. The Day 1–3–7 sequence alone recovers 40–60% of leads that would otherwise go cold. Want the full breakdown?'; if (_ctx.lastTopic === 'price') return 'The $1 Magic Trial is the best starting point — full access for 24 hours, no commitment. Start here →'; if (_ctx.lastTopic === 'roi') return 'Every business is different — Palcidus Patrick calculates your specific projection in a free 30-min session. Book it here →'; return 'Understood. What would you like to know more about — the system, pricing, or results?'; } /* ── Numbers / revenue shared ── */ if (m.match(/\$[\d,]+|[\d,]+\s*(k|thousand|million|revenue|leads?|clients?|month)/i)) { return 'That\'s a solid baseline. Based on those numbers, the system would typically target a 3–5× increase in qualified leads and a 40–50% improvement in close rate within 90 days.

The exact projection — built for your specific niche — is what Palcidus Patrick maps out in a free session. Book it free →'; } /* ── Thank you / great / awesome ── */ if (m.match(/thank|thanks|great|awesome|perfect|nice|cool|love it|amazing/)) return 'Glad that helps! Is there anything else you\'d like to know — or are you ready to book your free strategy session →?'; /* ── Niche-specific unknown messages — use niche context ── */ if (_ctx.niche) { var nicheAnswers = { 'real estate': 'For real estate professionals, the biggest wins are automated lead follow-up (most agents lose 70% of leads by not responding fast enough) and AI appointment booking. Palcidus Patrick has set this up for dozens of agents in Ontario.

How many leads do you get per month right now?', 'insurance': 'For insurance brokers, the system automates prospecting, policy renewal reminders, and cross-sell sequences — while staying fully compliant. Clients average a 55% increase in referrals within 60 days.

Are you currently working on growing your book of business?', 'financial services': 'For financial advisors, the AI handles lead qualification, appointment booking, and follow-up — freeing you to focus on client relationships and advice. Pairs directly with compliance-approved communication flows.

What\'s your biggest bottleneck right now — getting clients, or managing existing ones?', 'business coaching': 'For coaches, the system fills your calendar with qualified discovery calls automatically — no more chasing prospects. Average coach goes from 3 to 18 booked calls per week.

How are you currently getting new coaching clients?', 'e-commerce': 'For e-commerce, the AI automates abandoned cart recovery, post-purchase sequences, and review requests. Average 23% lift in repeat purchase rate.

What\'s your current biggest revenue leak?', 'mortgage': 'For mortgage professionals, the AI follows up with every pre-qualified lead instantly and books consultations automatically — critical when rates change and buyers move fast.

How many leads do you currently lose to slow follow-up?' }; if (nicheAnswers[_ctx.niche]) return nicheAnswers[_ctx.niche]; } /* ── Intelligent fallback — NEVER repeat "Good question" ── */ /* Rotate through 6 different genuinely helpful responses */ var fallbacks = [ 'To answer that specifically for you — what industry are you in? The system works differently for a financial advisor vs a real estate agent vs an e-commerce store, and I want to give you the right information.', 'That\'s something Palcidus Patrick addresses directly in the free strategy session — he looks at your exact situation and gives you a custom roadmap, not a generic pitch. Book 30 min free →', 'Quick question before I answer — what\'s the one thing that, if fixed, would make the biggest difference in your business right now? Leads? Follow-up speed? Appointment no-shows? Knowing that helps me point you in the right direction.', 'The short answer is yes, the system handles that. The longer answer depends on your setup. Are you a solopreneur, small team, or larger business? That changes the recommended approach.', 'Most people ask that in the context of a specific problem they\'re trying to solve. What\'s the problem you\'re sitting with right now? I\'ll give you a direct, honest answer.', 'Good timing on that question — Palcidus Patrick just published results on exactly this for ' + (new Date().getFullYear()) + '. The short version: the businesses that automate this first gain an unfair advantage that compounds over time. Want the details for your specific niche?' ]; return fallbacks[_ctx.turn % fallbacks.length]; } /* ══════════════════════════════════════════════════════ BOTTOM-RIGHT CHATBOT (original, intact) ══════════════════════════════════════════════════════ */ var _chatOpen=false,_chatCount=0,_chatLead={},_chatLog=[],_summarySent=false; function toggleChat() { _chatOpen = !_chatOpen; var w = document.getElementById('chatWin'); if (w) w.style.display = _chatOpen ? 'flex' : 'none'; /* Fresh context each time chatbot opens */ if (_chatOpen) _ctx = { turn:0, name:'', niche:'', problem:'', lastTopic:'' }; } function sendChat() { var inp = document.getElementById('chatInput'); var body = document.getElementById('chatBody'); if (!inp||!body) return; var msg = inp.value.trim(); if (!msg) return; inp.value=''; _chatCount++; _addBubble(msg,'user'); _chatLog.push('YOU: '+msg); var em=msg.match(/[\w.+\-]+@[\w\-]+\.\w{2,}/); if(em)_chatLead.email=em[0]; var ph=msg.match(/\+?1?[\s\-]?\(?\d{3}\)?[\s\-]?\d{3}[\s\-]?\d{4}/); if(ph)_chatLead.phone=ph[0].trim(); var nm=msg.match(/(?:my name is|i[' ]m|i am)\s+([A-Za-z]+(?: [A-Za-z]+)?)/i); if(nm)_chatLead.name=nm[1]; var tid='bt'+Date.now(); var tel=document.createElement('div'); tel.className='msg msg-ai'; tel.id=tid; tel.innerHTML='Thinking…'; body.appendChild(tel); body.scrollTop=body.scrollHeight; setTimeout(function(){ var el=document.getElementById(tid); if(el)el.remove(); var reply=_aiReply(msg); _addBubble(reply,'ai'); _chatLog.push('AI: '+reply.replace(/<[^>]+>/g,'')); if(_chatCount>=3&&!_summarySent){ _summarySent=true; _sendSummary(); setTimeout(function(){ _addBubble( '
' +'✨ I can see 3 automation gaps in your business' +'

Closing them typically delivers 387%+ ROI in 90 days. Palcidus Patrick maps them personally in a FREE 30-min session.

' +'📅 Book FREE Session →' +'
','ai'); },1200); } },600+Math.floor(Math.random()*400)); } function _addBubble(html,type){ var b=document.getElementById('chatBody'); if(!b)return; var d=document.createElement('div'); d.className='msg msg-'+type; d.innerHTML=html; b.appendChild(d); b.scrollTop=b.scrollHeight; } function _sendSummary(){ fetch(CFG.formspree,{method:'POST',headers:{'Accept':'application/json','Content-Type':'application/json'}, body:JSON.stringify({_subject:'💬 CHAT: '+(_chatLead.name||'Visitor')+' '+(_chatLead.email||''), _replyto:_chatLead.email||CFG.ownerEmail, Name:_chatLead.name||'Unknown',Email:_chatLead.email||'Not provided', Phone:_chatLead.phone||'Not provided',Chat:_chatLog.join('\n'), Date:new Date().toLocaleString('en-CA',{timeZone:'America/Toronto'})}) }).catch(function(){}); } /* ════════════════════════════════════════ FORM — single fetch trigger + dedup ════════════════════════════════════════ */ document.addEventListener('DOMContentLoaded', function() { if (window.location.hash === '#talk') { setTimeout(function(){ openVapiModal(); }, 800); } /* Mobile nav outside-click close */ document.addEventListener('click', function(e) { var nav=document.getElementById('navLinks'), tog=document.getElementById('navToggle'); if(nav&&nav.classList.contains('open')&&!nav.contains(e.target)&&tog&&!tog.contains(e.target)) closeMobileNav(); }); var vBtn=document.getElementById('vapiBtn'); if(vBtn) vBtn.addEventListener('click',startVapiCall); function _fireAppScript(params) { var url = CFG.sheets + '?' + params.toString(); fetch(url, {method:'GET', mode:'no-cors'}).catch(function(){ var img=new Image(); img.src=url+'&fb='+Date.now(); }); } var form = document.getElementById('leadForm'); if (form) { form.addEventListener('submit', function(e) { e.preventDefault(); var fd = new FormData(form); var p = new URLSearchParams(); fd.forEach(function(v,k){ p.append(k,v); }); p.append('source','Palcidus AI Website'); p.append('tier', (p.get('tier')||'LEAD').toUpperCase()); p.append('timestamp', new Date().toISOString()); _fireAppScript(p); /* Formspree backup */ fetch(CFG.formspree,{method:'POST',headers:{'Accept':'application/json'},body:fd}).catch(function(){}); /* Success state */ var btn=form.querySelector('button[type=submit]'); if(btn){btn.innerHTML='✅ Sent! Palcidus Patrick will contact you shortly.';btn.disabled=true;} form.reset(); }); } /* Neural canvas */ var canvas=document.getElementById('neuralCanvas'); if(!canvas)return; var ctx=canvas.getContext('2d'); function resize(){canvas.width=window.innerWidth;canvas.height=window.innerHeight;} var pts=[]; function Pt(){this.x=Math.random()*canvas.width;this.y=Math.random()*canvas.height;this.vx=(Math.random()-.5)*.4;this.vy=(Math.random()-.5)*.4;} Pt.prototype.update=function(){this.x+=this.vx;this.y+=this.vy;if(this.x<0||this.x>canvas.width)this.vx*=-1;if(this.y<0||this.y>canvas.height)this.vy*=-1;}; function anim(){ ctx.clearRect(0,0,canvas.width,canvas.height); pts.forEach(function(p){p.update();}); for(var i=0;i